package pe.com.bbva.targps.bo.impl;

import java.util.List;

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import pe.com.bbva.targps.bo.DetalleArchivoEncarteGPSBO;
import pe.com.bbva.targps.bo.DetalleArchivoGPSBO;
import pe.com.bbva.targps.dao.DetalleArchivoEncarteGPSDAO;
import pe.com.bbva.targps.dao.DetalleArchivoGPSDAO;
import pe.com.bbva.targps.domain.DetalleArchivoEncarteGPS;
import pe.com.bbva.targps.domain.DetalleArchivoGPS;
import pe.com.stefanini.core.bo.GenericBOImpl;
import pe.com.stefanini.core.exceptions.BOException;
import pe.com.stefanini.core.exceptions.DAOException;

@Service("detalleArchivoEncarteGPSBO")
@SuppressWarnings({"rawtypes","unchecked"})
public class DetalleArchivoEncarteGPSBOImpl extends GenericBOImpl implements DetalleArchivoEncarteGPSBO{
	Logger logger = Logger.getLogger(this.getClass());
	@Resource 
	private DetalleArchivoEncarteGPSDAO detalleArchivoEncarteGPSDAO;
	
	public DetalleArchivoEncarteGPS findById(Long id) throws BOException {
		DetalleArchivoEncarteGPS detalleArchivoEncarteGPS = (DetalleArchivoEncarteGPS) super.findById(DetalleArchivoEncarteGPS.class, id);
		return detalleArchivoEncarteGPS;
	}

	public boolean validate(DetalleArchivoGPS detalleArchivoGPS) throws BOException{
		return true;
	}
	
	@Override
	@Transactional(propagation=Propagation.REQUIRED)
	public void save(DetalleArchivoEncarteGPS detalleArchivoEncarteGPS) throws BOException, DAOException {
		super.save(detalleArchivoEncarteGPS);
	}
	
	@Override
	public void delete(DetalleArchivoEncarteGPS detalleArchivoEncarteGPS) throws BOException {
		super.delete(detalleArchivoEncarteGPS);
	}

	@Override
	public List<DetalleArchivoEncarteGPS> listaDetalleArchivoEncarteGPS() throws DAOException {
		return detalleArchivoEncarteGPSDAO.listaDetalleArchivoEncarteGPS();
	}

}